package com.thread.daemon.demo1;

import java.util.concurrent.TimeUnit;

/**
 * 后台线程：在程序运行的时候在后台提供一种通用服务的线程，并且这种线程并不属于程序中不可或缺的部分。因此当所有的非后台线程结束时，程序也就终止了，
 * 同时会杀死进程中的所有后台线程
 * 
 * @author Administrator
 *
 */
public class SimpleDaemons implements Runnable {

	@Override
	public void run() {
		try {
			while (true) {
				TimeUnit.MILLISECONDS.sleep(100);
				System.out.println(Thread.currentThread() + " " + this);
			}
		} catch (InterruptedException e) {

		}
	}

	public static void main(String[] args) throws InterruptedException {
		for (int i = 0; i < 10; i++) {
			Thread daemon = new Thread(new SimpleDaemons());
			// 注释掉就变成死循环了
			daemon.setDaemon(true);// 必须在start方法前调用
			daemon.start();
		}
		System.out.println("all daemons started");
		TimeUnit.MILLISECONDS.sleep(500);
	}

}
